#ifndef _FACTORY_H_
#define _FACTORY_H_

class Product;
class Factory
{
public:
	Factory() {}
	virtual ~Factory(){}

	virtual Product* CreateProduct() = 0;
};

class ConcreteFactory : public Factory
{
public:
	ConcreteFactory() {}
	~ConcreteFactory() {}

	Product* CreateProduct();
};

#endif